$(document).ready(function() {

	//wizard
	var wizardObj = wizardLocal($("form").attr("id"),"alertas",false);
    $('#despacho').wysiwyg();	
	objetoCarregado;
});

function loadDados(dados){

    $("#pessoaAuto").simpleAutoComplete(600,"pessoa.nome","usuarios?find=ByPessoaAutoComplete");
	
	//combo box
	loadToComboBoxUrl("#destinatarioPerfil","perfils","alias");
	
	objetoCarregado = dados;
	$("#solicitacao").val(dados.id);
	$("#tipoCapacitacao").val(dados.tipoCapacitacao);
	$("#departamentoProponente").val(dados.departamentoProponente.nome);
	$("#nomeCapacitacao").val(dados.nomeCapacitacao);
	$("#localPrevisto").val(dados.localPrevisto.nome+" - "+dados.localPrevisto.estado.nome);
	if(dados.construcaoDoutrina == true){
		$("#construcaoDoutrina").val("Sim");
	}else{
		$("#construcaoDoutrina").val("Não");
	}
	
	
	
}

function popular(){	
    var registro = $("#"+$("form").attr("id")).formParams(false);
    delete registro.solicitacao;
    delete registro.tipoCapacitacao;
    delete registro.departamentoProponente;
    delete registro.nomeCapacitacao;
    delete registro.localPrevisto;
    delete registro.construcaoDoutrina;
    registro.solicitacao = objetoCarregado;
    registro.classe = "br.com.educa.modelo.curso.SolicitacaoCapacitacao";
    registro.documento = "Solicitação";
    registro.idDocumento = objetoCarregado.id;
    registro.protocolo = "PTC - "+objetoCarregado.id+" ";
    if(registro.destinatarioPerfil.id == ""){
    	delete registro.destinatarioPerfil;
    }
    if(registro.destinatarioPessoa.id == ""){
    	delete registro.destinatarioPessoa;
    }
	return registro;
}

function wizardLocal(formId,url,validate){
	
	//habilita e configura o wizard
	var wizardObj = $("#"+formId).formwizard({ 
		historyEnabled	: true,
		validationEnabled : false,
		myValidationEnabled : validate,
		validationOptions : undefined,
	 	focusFirstInput : true,
	 	textNext: "Avançar",
	 	textBack: "Voltar",
	 	textSubmit: "Salvar",
	 	formPluginEnabled: true,
	 	formOptions :{
	 		"beforeSend": function(xhr){
				var registro = popular();
				salvarLocal(formId, url, registro );		
	 			xhr.abort();
	 		},
			resetForm: true
	 	}
	 });

	 //estiliza os botoes do wizard como jqueryUI componentes
	$("#back").button();
	$("#next").button();

	if(validate){
		//habilita a validacao do form
		$("#"+formId).validationEngine();
	}
	
	return wizardObj;
	
}

function salvarLocal(formId, url, object){
	$.ajax({
		"type": "POST",
		"contentType": "application/json",
		"dataType": "json",
		"url": url,
		"beforeSend": function(xhr,settings){
			
			if(!$("#"+formId).validationEngine('validate')){
				xhr.abort();
			}else{
				$("#"+formId).block({message: "<img border='0' src='"+"img/ajax-loader.gif"+"'/> &nbsp;Salvando...",
					 css: { 'border': '0px',
							'background': 'transparent',
							'color': 'white'
					      } 
				});
				settings.data = $.toJSON(object);
			}
		},
		"error":trataErro,
		"complete": function(){
				$("#"+formId).unblock();
				$("#"+formId).validationEngine("hide");
		},
		"success": function(){
			showDialog("Sucesso","Registro salvo com sucesso!");
			window.location.hash='';
			window.location.hash.replace('#', '');
			if($("fieldset").length==1){
				$("#"+formId).populate(null,{resetForm:true});
			}else{
				$("#"+formId).formwizard("reset");
			}
			//populaDataGrid();
			loadSolicitacoes();
			$('#modalDialog').dialog('destroy');
		}
	 });
	 
}



